(for Internet Explorer)
ファイルシステム ext3 でフォーマットします。
ディスクを接続する前に、すでにあるディスクの一覧を下記コマンドで確認しておきます。
接続してからもう一度、一覧して、増えたデバイスファイルがそのディスクです。
sudo fdisk -l
すべてのディスクのパーティションを一覧します。
目的のディスクが /dev/sdb1 であるとします。
アンマウントの状態で、下記のコマンドを入力すると、すぐにフォーマットを開始します。
表示内容は、
と同じです。
sudo mkfs.ext3 -L LABEL /dev/sdb1
sync
LABEL
/dev/sdb1
mkdir ~/mnt
sudo mount /dev/sdb1 ~/mnt
ls ~/mnt
sudo umount ~/mnt
一度、マウントして、消していい内容かどうかを確認してください。
/dev/sdb1
パーティションが無ければ
で作成してください。
sudo mkdosfs -F 32 /dev/sdb1
sync
/dev/sdb1
-L オプションは、ドライブに付けるラベルです。
ext3 フォーマットの場合
VFAT フォーマットの場合
sync
ディスクの内容をメモリ上に残っているディスクキャッシュの内容と一致させます。
参考
user1@ubuntu-vm:~$ ifconfig
eth2      Link encap:Ethernet  HWaddr 00:0C:29:37:EC:93 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:18 Base address:0x1400
ubuntu [ システム | システム管理 | ネットワーク | 接続 | (アダプタ) | プロパティ ]
設定したら仮想マシンを再起動してください。
下記の場合、IP アドレスが割り当てられていません。
仮想マシンを再起動してみてください。
関連
→ VMware Player のネットワーク
で表示されるMAC アドレスと、ネットワークアダプタ名
.vmx ファイル
の中の generatedAddress
eth2 がネットワークアダプタ名です。
HWaddr が MAC アドレスです。
VMware player の環境で、ネットワークアダプタ名(例:eth2)と、仮想ネットワーク
の対応関係を知りたいときは、
(MAC アドレス)と、
を調べてください。
参考
(マシン名)
IP アドレスをネットワーク先の PC に割り当てるサーバです。
社内ネットワークに接続した PC で DHCP サーバを起動してはいけません。
(一瞬だけなら、DHCP リクエストが来ない可能性が高いので、問題ありません)
(cache)
→ ゲストOSに2つ目の仮想ネットワークアダプタを接続する
参考
→ 上記の設定で動いたときの dhcp3-server のスクリプト
→ DHCP
DHCP サーバの接続先を、実験用ネットワークのネットワークアダプタに設定してください。
初めて DHCP サーバを起動したら、社内ネットワークに接続していたネットワークアダプタ
(NIC)と、実験用アダプタの両方で、DHCP サーバが応答するか実験してみてください。
下記を参考に、2つ目の仮想ネットワークを、固定IPアドレスで構築してください。
作業中は、社内ネットワークの LAN ケーブルを抜いてください。
参考
sudo apt-get -d install dhcp3-server
ダウンロード (ubuntu)
sudo apt-get install dhcp3-server
インストール (ubuntu)
/etc/default/dhcp
INTERFACES="eth3"
eth3 は、2つ目の仮想ネットワークアダプタ名です。
社内ネットワークにつながっている LAN ケーブルを抜いてから、
sudo service dhcp3-server restart
DHCPサーバを再起動します。
(ファイルの存在する方)の最後に追加
subnet 192.168.100.0 netmask 255.255.255.0 {
  option routers        192.168.100.1;
  option subnet-mask    255.255.255.0;
     
  option domain-name          lan;
  option domain-name-servers  192.168.100.1;
     
  range dynamic-bootp   192.168.100.33 192.168.100.48;
  default-lease-time    21600;
  max-lease-time        43200;
}
上記は、Linux の 2つ目の仮想ネットワークの IP アドレスが 192.168.100.1 の場合です。
/etc/default/dhcp3-server
または
(ファイルの存在する方)
稼動しているかどうかは
Ubuntu7.10 : /var/lib/dhcp3/dhclient.eth0.leases
Fedora8 : /var/lib/dhclient/dhclient-eth0.leases
IPアドレスの貸し出しログ
lease 192.168.100.246 {
  starts 1 2008/05/12 05:06:50;
  ends 1 2008/05/12 11:06:50;
  binding state active;
  next binding state free;
  hardware ethernet 00:0a:a3:02:09:20;
}
タイムゾーンは、GMTです。
eth3
192.168.100.0
192.168.100.1
192.168.100.1
192.168.100.33 192.168.100.48
[ OK ] になったら、LAN ケーブルをつないで構いません。
のように、2つ目の仮想ネットワークアダプタを接続します。
サーバを起動しようとして失敗しますが構いません。
または
/etc/dhcpd.conf
/etc/dhcp3/dhcpd.conf
で確認できます。
貸し出す範囲
以下の説明では、IPアドレスが 192.168.100.1 に固定されているものとして説明しています。
        # we want the nameserver to appear at a fixed address
        host BoardAUser1 {
                hardware ethernet 00:0a:a3:02:09:12;
                fixed-address    192.168.100.128;
                filename         "/user1/uImage";
                option root-path "/proj/export/user1/userland";
                next-server      192.168.100.22;
        }
MAC アドレスが 00:0a:a3:02:09:12 のボードを Linux ブートするとき
BoardA は、ボードの名前を適当に付けてください。
00:0a:a3:02:09:12 は、ターゲット・ボードの MAC アドレス。
fixed-address は、ターゲット・ボードに与えるネットワーク内で固有の IPアドレス。
他の人の設定を確認してください。
filename は、ダウンロードするファイルのパス。 ルートは、tftpboot のルート
option root-path は、自分が使うユーザーランドのパス。ルートはホストのルート。
next-server は、ネットワーク管理者に聞くか、他の人の設定と同じにしてください。
ホストの dhcpd.conf ファイルに、次のようなブロックを追加してください。
sudo service dhcp3-server restart
設定したら、DHCPサーバを再起動します。
BoardAUser1
00:0a:a3:02:09:12
192.168.100.128
user1
user1
192.168.100.22
DHCP は、ターゲット・ボードに乗っているイーサネット・デバイスの MAC アドレスから
IP アドレスなどの情報を提供しているため、ターゲット・ボードを他の人に渡したとき
は、上記の host ブロックの hardware ethernet 項目が重複しないように修正が
必要です。 使わなくなった人の hardware ethernet 項目を # でコメントアウトすると
よいでしょう。
        host BoardAUser1 {
        #//      hardware ethernet 00:0a:a3:02:09:12;
(ファイルの存在する方)の最後に追加
または
/etc/dhcpd.conf
/etc/dhcp3/dhcpd.conf
apache2
sudo apt-get install apache2
インストール:
http サーバ
http://192.168.0.100/
ifconfig で表示される IP アドレスを使って、確認できます。
TCP/IP(インターネット)で、外部から接続要求があったときに、ポートに対応した
プログラムを起動します。
sudo apt-get install xinetd
ubuntu の場合
サービスを追加する
service tftp
{
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = root
    group           = root
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    only_from       = 192.168.150.0/24  192.168.100.0/24
    disable         = no
}
sudo service xinetd restart
/syslog に出力されます。
再起動した結果は、
参考
defaults
{
}

includedir /etc/xinitd.d
192.168.150.0/24
/24 は、サブネットマスクが、255.255.255.0 であるという意味です。
/etc/xinetd.conf
ポートにリクエストがあったら起動するサービスに関する設定を、/etc/xinetd.d/
の中に新しくファイルを作成して設定してください。
例:
tftp
実際は、/etc/xinetd.conf だけが設定ファイルですが、デフォルトで、/etc/xinitd.d
フォルダをインクルードしています。
sudo gedit /etc/xinetd.d/tftp
設定ファイルを置いたら、xinetd を再起動してください。
sudo
/etc/xinetd.d/tftp
192.168.100.0/24
root
Permission Denied エラーが出たら、sudo を忘れている可能性があります。
それぞれのサービスを起動する設定は、サービスのインストーラが自動的に行うか、
インストーラが手動で設定することを要求するので、そのときに行ってください。
TCP/IP(インターネット)で、外部から接続要求があったときに、ポートに対応した
プログラムを起動します。
/etc/services
symbol  7070/tcp
symbol は、任意のサービス名
/etc/inetd.conf
symbol stream tcp nowait root /home/user1/exe exe
sudo service inetutils-inetd restart
inetd を再起動
TCPの 7070番ポートに要求があったら、/home/user1/exe を実行する場合:
参考
sudo apt-get install inetutils-inetd
ubuntu の場合
サービス(サーバ)を登録する
サービス(サーバ)を一覧する
less /etc/inetd.conf
tftp dgram udp wait nobody /usr/sbin/tcpd  /usr/sbin/in.tftpd /srv/tftp
例:
関連
フィルタ
less /etc/services
ポート番号にポート名をつける
ポート名から起動するコマンドを一覧する
何かを起動したら、起動したサービスが、/var/log/syslog か /var/log/daemon.log に
記録するかもしれません。
less /var/log/daemon.log
May 13 16:24:43 ubuntu-vm in.tftpd[7059]: connect from ::ffff:127.0.0.1 (::ffff:127.0.0.1)
May 13 16:24:43 ubuntu-vm atftpd[7059]: Advanced Trivial FTP server started (0.7)
May 13 16:24:43 ubuntu-vm atftpd[7059]: connect: Address family not supported by protocol
atftpd
の例:
特に理由が無ければ
を使ってください。
sudo apt-get install ethereal
インストール (ubuntu)
Ethereal は、NIS 社の商標。Gerald Combs 氏が移籍したため、Wireshark に改名。
起動
ubuntu [ アプリケーション | インターネット | Wireshark ]
参考
ネットワークを流れるパケットを見やすい形で表示してくれるツールです。「プロトコルアナライザ」
キャプチャ開始, 終了
ファイルメニューの下にあるボタンを押して、キャプチャしたいネットワークアダプタに
対応する [ Start ] ボタンを押すと、キャプチャを開始します。
キャプチャを終了するときは、Goメニューの下にあるボタンを押します。
localhost→
tcpdump: socket: Operation not permitted
アカウントに権限がありません。sudo を付けてください。
tcpdump: no suitable device found
ネットワークアダプタを指定してください。
-i (ネットワークアダプタ名)
例:
-i eth2
udp port (ポート番号)
udp port 67
例:
監視する UDP のポート番号を指定する
トラブルシューティング
パケットが表示されない
すべて表示するように -v オプションを付けてください。
すべてのパケットを表示する
-v
TCP/IP ネットワークに流れている TCP パケット、UDP パケットを表示します。
= ネットワークアダプタ、イーサネットカード
sudo tcpdump udp port 67 -v -i eth3
サンプル:
ネットワークアダプタ eth3 に、DHCP, BOOTP のパケットが来ているか見る。
(DHCPサーバの端末から入力する)
user1@ubuntu-vm:~$ sudo tcpdump udp port 67 -v -i eth3
[sudo] password for user1:
tcpdump: listening on eth3, link-type EN10MB (Ethernet), capture size 96 bytes
12:38:06.323093 IP (tos 0x0, ttl 255, id 0, offset 0, flags [DF], proto UDP (17),
length 329) 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from
00:0a:a3:02:09:20 (oui Unknown), length 301, xid 0xa2c098ef, secs 30838, Flags [none]
          Client-Ethernet-Address 00:0a:a3:02:09:20 (oui Unknown) [|bootp]
12:38:16.533767 IP (tos 0x10, ttl 64, id 0, offset 0, flags [none], proto UDP (17),
length 328) ubuntu-vm.local.bootps > 192.168.100.246.bootpc: BOOTP/DHCP, Reply,
length 300, xid 0xa2c098ef, secs 30838, Flags [none]
          Your-IP 192.168.100.246
          Server-IP ubuntu-vm.local
          Client-Ethernet-Address 00:0a:a3:02:09:20 (oui Unknown) [|bootp]
同等の機能を持ったGUI 版
iptables -L -n
iptables は、ファイアーウォール・ソフトです。
ubuntu では、標準で組み込まれていて、すべてのポートが閉じています。
インストールすると自動的にポートが開きます。
filter テーブルのルールを一覧表示します:
GUI 版
参考
プログラム
ネットワークを流れるパケットは、下記のチェインを通っていきます。
チェインは、データの変更をしたり、パケットのフィルタリングを行います。
ネットワーク
受信
送信
iptables は、パケットのルーティング(nat テーブル)や、パケットの内容を変更
(mangleテーブル)したり、フィルタリング(filter テーブル)を行います。
ルーティング
パケットの内容を変更
フィルタリング
受信
送信
TOS
の変更、
TTL
の変更、MARK ターゲットの追加などを、
送信元IPアドレス
あて先IPアドレス
の変更、
の変更などを、
→ 基礎から学ぶWindowsネットワーク
DROP(パケットの破棄)したり ACCEPT(パケットの通過)することを、
iptables [-t table] command [match] [target/jump]
コマンドの書式:
Chain INPUT (policy DROP)
target   prot opt source           destination         
ACCEPT   tcp  --  192.168.150.2    0.0.0.0/0      tcp flags:!0x17/0x02
ACCEPT   udp  --  192.168.150.2    0.0.0.0/0           
table
【引数】
省略時は filter
command
match
target
下記のチェインで行います。
下記のチェインで行います。
下記のチェインで行います。
→ ブリッジとしてパケットが通るとき
↓ プログラムが応答するとき
-A
チェインの最後にルールを追加する
-D
-R
ルールを1つ削除する
-L -n
ルールを一覧する。 -n をつけないと DNS に問い合わせて遅い。
-I
チェインの途中にルールを追加する
-F
すべてのルールを削除する
ルールを1つ置き換える
その他
詳細は不明
sudo iptables -A OUTPUT -p udp --sport 69 -j ACCEPT
sudo iptables -A INPUT  -p udp --dport 69 -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 69 -j ACCEPT
sudo iptables -A INPUT  -p udp --sport 69 -j ACCEPT
sudo iptables-save
VMを再起動
通常、手動でポートを開ける必要はありませんが、開けるときは次のように
行うといいかもしれません。(未確認)